import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import os
import re
from imp import reload
import h5py
import deltascope as cranium
import deltascope.alignment as ut
gfap = ".\data\hss1ayot\GFAP\Prob"
at = ".\data\hss1ayot\AT\Prob"
root = ".\data\hss1ayot"
outdir = os.path.join(root,'Output-02-15-2019')
os.mkdir(outdir)
Dat = {}
for f in os.listdir(at):
if 'h5' in f:
num = re.findall(r'\d+',f.split('.')[0])[-1]
Dat[num] = os.path.join(at,f)
Dzrf = {}
for f in os.listdir(gfap):
if 'h5' in f:
num = re.findall(r'\d+',f.split('.')[0])[-1]
Dzrf[num] = os.path.join(gfap,f)
Dbat = {}
Dbzrf = {}
klist = Dat.keys()
param = {
'gthresh':0.5,
'scale':[1,1,1],
'microns':[0.16,0.16,0.21],
'mthresh':0.5,
'radius':10,
'comp_order':[0,2,1],
'fit_dim':['x','z'],
'deg':2
}
%%time
for k in klist:
if k not in list(Dbat.keys()):
Dbat[k] = ut.preprocess(Dat[k],param)
Dbzrf[k] = ut.preprocess(Dzrf[k],param,pca=Dbat[k].pcamed,mm=Dbat[k].mm,vertex=Dbat[k].vertex)
#Dbcaax[k] = ut.preprocess(Dcaax[k],param,pca=Dbat[k].pcamed,mm=Dbat[k].mm,vertex=Dbat[k].vertex)
print(k)
else:
print(k,'already processed')
def start(k):
return(ut.start(k,Dbat,[Dbzrf],im=True))
def save_both(k,dfa,dfb):
ut.save_both(k,dfa,dfb,outdir,'hss1ayot')
model = pd.DataFrame({'a':[],'b':[],'c':[]})
def save_model(k,mm,model):
row = pd.Series({'a':mm[0],'b':mm[1],'c':mm[2]},name=k)
model = model.append(row)
return(model)
def fit_model(axi,df,mm=None):
if mm == None:
mm = np.polyfit(df.x,df.z,2)
p = np.poly1d(mm)
xrange = np.arange(np.min(df.x),np.max(df.x))
axi.plot(xrange,p(xrange),c='m')
return(mm)
def pick_pts(x1,z1,vx,vz,x2,z2):
pts = pd.DataFrame({'x':[x1,vx,x2],'z':[z1,vz,z2]})
return(pts)
k,df,Ldf,ax = start('3')
mm = fit_model(ax[0,1],df)
model = save_model(k,mm,model)
save_both(k,df,Ldf[0])
k,df,Ldf,ax = start('11')
mm = fit_model(ax[0,1],df)
model = save_model(k,mm,model)
save_both(k,df,Ldf[0])
klist
k,df,Ldf,ax = start('010')
df1,Ldf1 = ut.zyswitch(df,Ldf)
ax = ut.make_graph([df1]+Ldf1)
mm = fit_model(ax[0,1],df1)
model = save_model(k,mm,model)
save_both(k,df1,Ldf1[0])
Discard; too little signal
k,df,Ldf,ax = start('09')
discard; limited signal
k,df,Ldf,ax = start('016')
k,df,Ldf,ax = start('02')
df = Dbat[k].df_thresh
Ldf = [Dbzrf[k].df_thresh]
ax = ut.make_graph([df]+Ldf)
df1,Ldf1,mm,ax = ut.ch_vertex(df,Ldf)
model = save_model(k,mm,model)
save_both(k,df1,Ldf1[0])
klist
k,df,Ldf,ax = start('14')
df = Dbat[k].df_thresh
Ldf = [Dbzrf[k].df_thresh]
ax = ut.make_graph([df]+Ldf)
pts = pick_pts(0,12,34,3,72,18)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df1,Ldf1,mm,ax = ut.ch_vertex(df,Ldf,pts=pts)
df2,Ldf2,pts,ax = ut.check_pts(df1,Ldf1,'z')
pts.iloc[0].x = 41
pts.iloc[0].z = 15
pts.iloc[1].z = 7
ax[0,1].scatter(pts.x,pts.z,c='y')
pts
df3,Ldf3,ax = ut.revise_pts(df1,Ldf1,'z',pts=pts)
pts = pick_pts(-30,10,5,-1,43,10)
ax[1,1].scatter(pts.x,pts.z,c='m',s=50)
df4,Ldf4,mm,ax = ut.ch_vertex(df3,Ldf3,pts=pts)
model = save_model(k,mm,model)
save_both(k,df4,Ldf4[0])
k,df,Ldf,ax = start('10')
pts = pick_pts(-25,5,3,-5,38,6)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df1,Ldf1,mm,ax = ut.ch_vertex(df,Ldf,pts=pts)
model = save_model(k,mm,model)
save_both(k,df1,Ldf1[0])
k,df,Ldf,ax = start('014')
df = Dbat[k].df_thresh
Ldf = [Dbzrf[k].df_thresh]
ax = ut.make_graph([df]+Ldf)
pts = pick_pts(0,10,35,2,69,10)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df1,Ldf1,mm,ax = ut.ch_vertex(df,Ldf,pts=pts)
model = save_model(k,mm,model)
save_both(k,df1,Ldf1[0])
k,df,Ldf,ax = start('5')
df = Dbat[k].df_thresh
Ldf = [Dbzrf[k].df_thresh]
ax = ut.make_graph([df]+Ldf)
pts = pick_pts(0,16,36,1,81,7)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df1,Ldf1,mm,ax = ut.ch_vertex(df,Ldf,pts=pts)
model = save_model(k,mm,model)
save_both(k,df1,Ldf1[0])
k,df,Ldf,ax = start('07')
df = Dbat[k].df_thresh
Ldf = [Dbzrf[k].df_thresh]
ax = ut.make_graph([df]+Ldf)
pts = pick_pts(0,15,30,6,64,16)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df1,Ldf1,mm,ax = ut.ch_vertex(df,Ldf,pts=pts)
model = save_model(k,mm,model)
save_both(k,df1,Ldf1[0])
k,df,Ldf,ax = start('12')
df = Dbat[k].df_thresh
Ldf = [Dbzrf[k].df_thresh]
ax = ut.make_graph([df]+Ldf)
df1,Ldf1,pts,ax = ut.check_pts(df,Ldf,'z')
pts.iloc[0].z = 12
ax[0,1].scatter(pts.x,pts.z,c='y')
pts
df2,Ldf2,ax = ut.revise_pts(df,Ldf,'z',pts=pts)
df3,Ldf3 = ut.flip(df2,Ldf2)
ax = ut.make_graph([df3]+Ldf3)
pts = pick_pts(-78,12,-36,0,0,10)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df4,Ldf4,mm,ax = ut.ch_vertex(df3,Ldf3,pts=pts)
model = save_model(k,mm,model)
save_both(k,df4,Ldf4[0])
k,df,Ldf,ax = start('03')
mm = fit_model(ax[0,1],df)
pts = pick_pts(-35,11,3,-2,40,11)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df1,Ldf1,mm,ax = ut.ch_vertex(df,Ldf,pts=pts)
model = save_model(k,mm,model)
save_both(k,df1,Ldf1[0])
k,df,Ldf,ax = start('16')
df = Dbat[k].df_thresh
Ldf = [Dbzrf[k].df_thresh]
ax = ut.make_graph([df]+Ldf)
df1,Ldf1,mm,ax = ut.ch_vertex(df,Ldf)
model = save_model(k,mm,model)
save_both(k,df1,Ldf1[0])
k,df,Ldf,ax = start('08')
mm = fit_model(ax[0,1],df)
model = save_model(k,mm,model)
save_both(k,df,Ldf[0])
k,df,Ldf,ax = start('13')
df = Dbat[k].df_thresh
Ldf = [Dbzrf[k].df_thresh]
ax = ut.make_graph([df]+Ldf)
df1,Ldf1,mm,ax = ut.ch_vertex(df,Ldf)
model = save_model(k,mm,model)
save_both(k,df1,Ldf1[0])
k,df,Ldf,ax = start('2')
df = Dbat[k].df_thresh
Ldf = [Dbzrf[k].df_thresh]
ax = ut.make_graph([df]+Ldf)
pts = pick_pts(0,18,45,2,90,15)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df1,Ldf1,mm,ax = ut.ch_vertex(df,Ldf,pts=pts)
model = save_model(k,mm,model)
save_both(k,df1,Ldf1[0])
k,df,Ldf,ax = start('7')
df = Dbat[k].df_thresh
Ldf = [Dbzrf[k].df_thresh]
ax = ut.make_graph([df]+Ldf)
df1,Ldf1,pts,ax = ut.check_pts(df,Ldf,'z')
pts.iloc[0].z = 4
ax[0,1].scatter(pts.x,pts.z,c='y')
pts
df2,Ldf2,ax = ut.revise_pts(df,Ldf,'z',pts=pts)
df3,Ldf3,mm,ax = ut.ch_vertex(df2,Ldf2)
pts = pick_pts(-34,7,4,-1,42,5)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df4,Ldf4,mm,ax = ut.ch_vertex(df3,Ldf3,pts=pts)
model = save_model(k,mm,model)
save_both(k,df4,Ldf4[0])
k,df,Ldf,ax = start('012')
df = Dbat[k].df_thresh
Ldf = [Dbzrf[k].df_thresh]
ax = ut.make_graph([df]+Ldf)
pts = pick_pts(0,18,44,2,94,19)
ax[0,1].scatter(pts.x,pts.z,c='m',s=50)
df1,Ldf1,mm,ax = ut.ch_vertex(df,Ldf,pts=pts)
model = save_model(k,mm,model)
save_both(k,df1,Ldf1[0])
k,df,Ldf,ax = start('06')
Discard not enough zrf signal
df = Dbat[k].df_thresh
Ldf = [Dbzrf[k].df_thresh]
ax = ut.make_graph([df]+Ldf)
model
model.to_csv(os.path.join(outdir,'model.csv'))
outdir
modelout = pd.read_csv(os.path.join(outdir,'model.csv'))
modelout
model2 = pd.read_csv(os.path.join(outdir,'model.csv'),index_col='Unnamed: 0',dtype={'Unnamed: 0':str})
model2